"""
通用工具模块
"""

import uuid
from typing import Optional


def generate_request_id() -> str:
    """
    生成唯一的request_id
    """
    # 生成UUID并转换为字符串
    return str(uuid.uuid4())


def validate_request_id(request_id: Optional[str]) -> str:
    """
    验证并返回request_id，如果为空则生成新的
    """
    # 检查request_id是否为空
    if not request_id:
        # 生成新的request_id
        return generate_request_id()
    return request_id


def is_valid_uuid(value: str) -> bool:
    """
    验证字符串是否为有效的UUID格式
    """
    try:
        # 尝试创建UUID对象验证格式
        uuid.UUID(value)
        return True
    except ValueError:
        # 格式无效返回False
        return False